Date: Tue, 14 Jan 1997 23:17:17 GMT
Server: NCSA/1.4.1
Content-type: text/html
Last-modified: Tue, 27 Aug 1996 18:52:32 GMT
Content-length: 8802

<HEAD>
<TITLE>CS 404/504 Software Project Management </TITLE>
<HEAD>

<BODY background="/~billjunk/images/back2.gif">


<!WA0><IMG ALIGN=MIDDLE SRC="http://www.cs.uidaho.edu/~billjunk/images/rainbow.gif"><center>

<B><H3>CS 404-01/504-01</H3>
<H3> NTU SE-580-S</H3>
<H1>Software Project Management</H1>
<H3>Fall 96-97</H3></B></center><P>

<H3> http://www.cs.uidaho.edu/~billjunk/courses/cs482/cs482.html<BR>
 Last updated: August 27, 1996 </H3>

<!WA1><IMG ALIGN=MIDDLE SRC="http://www.cs.uidaho.edu/~billjunk/images/rainbow.gif"><P>

<!WA2><A HREF="http://www.cs.uidaho.edu/index.html"><!WA3><IMG width=28 height=22
ALIGN=middle SRC="http://www.cs.uidaho.edu/~billjunk/images/csclogo.gif"></A> Computer Science Home 
Page

<!WA4><A HREF="http://www.uidaho.edu/"><!WA5><IMG width=22 height=22
ALIGN=middle SRC="http://www.cs.uidaho.edu/~billjunk/images/uilogo3.gif"></A> Univ. of Idaho Home 
Page<P>

<!WA6><IMG ALIGN=MIDDLE SRC="http://www.cs.uidaho.edu/~billjunk/images/rainbow.gif">

<center><H2><B>Course Overview</B></H2></center>

<H3>Proposed Catalog Description:  </H3>

Software Project Management (3 cr).  Techniques for planning, organizing, scheduling, and controlling 
complex software system development and support projects.<P>

<H3>Instructor:</H3>


<!WA7><A HREF="http://www.cs.uidaho.edu/~billjunk/index.html">William S. 
Junk</A>, 
	Computer Science Dept., 
	University of Idaho,
	Moscow, ID  83844-1010<BR>
<B>Telephone:</B>	208-885-7530 / 
	800-824-2889<BR>
<B>Fax:</B>	208-885-6165
	 (alternate: 208-885-9052)<BR>
<B>E-Mail:</B> <!WA8><a href="mailto:billjunk@cs.uidaho.edu">billjunk@cs.uidaho.edu</a> </I><P>

<H3>Prerequisites:</H3> 
 
<I>Undergraduates</I>:  CS 381 Software Engineering or CS 480 Individual Design Project or permission<P>
<I>Graduates</I>:  CS 581 Software Engineering Analysis or permission  May be taken by non-computer 
science majors who have a basic understanding of how software should be developed.<P>
<I>Resources</I>:  Students must have the ability to communicate with the 
instuctor via e-mail and must have facilities to access the World Wide 
Web.<P>
 
<H3>Goals:  </H3> Upon completion of this course participants should:
<UL>
<LI>Understand how software development fits into a more complex product development activity
<LI>Be able to select an appropriate software development life cycle for a project
<LI>Know the development processes required in a typical software development project and be able to select 
development processes appropriate for a specific development project.
<LI>Be able to plan a software development project including:
   <UL>
   <LI>identifying key processes and their interdependencies
   <LI>identifying documentation needs
   <LI>preparing a detailed project schedule
   <LI>estimating project resources and costs
   </UL>

<LI>Be able to recommend an effective project organizational strategy for a specific development project
<LI>Be able to effectively monitor a software development project
<LI>Be able to perform a software project risk assessment
<LI>Understand the relationships between software development activities/organizations and other 
activities/organizations within the enterprise
<LI>Understand social and environmental factors that contribute to or hinder software development activities
</UL><P>

<H3>Textbooks:</H3><P>

<UL>
<LI>Mike Cotterell and Bob Hughes, <U>Software Project Management</U>, 
International Thomson Computer Press, 1995.
<LI>Tom DeMarco and Timothy Lister, <U>Peopleware</U>, Dorset House, 1987.
<LI>Fred Brook, <U>The Mythical Manmonth</U>, 20th Anniversary Edition, 
Addison-Wesley,1995 </UL>

<H3>Grading:</H3> <P>
<pre>
     Participation                10%
     Readings                     10%
     Exercises                    50%
     Individual Project           20%
     Final Exam                   10%
</pre><P>
Undergraduate and graduate sections of the course are graded separately.
Due to slightly different schedules, off-campus and on-campus sections
are graded separately.  The difference between the undergraduate and 
graduate versions is in the expected level of accomplishment.  Because of
additional academic study and work experience, graduate students should be 
able to provide greater insight and depth of discussion in all phase
of their course work.  Just as an example, my expectations for the amount
of effort put into the individual project is substantially higher for
graduate students:  5-10 pages for undergraduates, versus 15-20 pages
for graduates.<P>

<H3>Participation</H3>
All students are expected to make a regular contribution to the class.
On-campus students should be prepared to offer their comments regarding 
material presented, ask interesting questions during class, and respond
with good answers to questions asked in class.  Calling to my attention
a high quality article on a topic discussed in class, pointing out
an interesting WWW site, relating a personal experience,
etc. are encouraged.  Off-campus students should also do these things
and communicate with me on a regular basis using e-mail, fax, telephone,
or mail.  I'm particularly interested in hearing your perspective
as practitioners.  A meaningful contribution each week is considered
a satisfactory level.  A portion of some class sessions will be devoted
to discussion and feedback based on questions and comments supplied
from off-campus.<P>

<H3>Term Project</H3><P>
The course also requires an approved term project that should be a 
practical application of some concept(s) studied in the coruse.  The
project is expected to be more extensive for graduate students than
for undergraduates.  For example you might base your project around
preparation of a Software Project Management Plan that follows IEEE
standards, review published literature on software risk assessment
and prepare a report, or study software process metrics from your
organizztion.  You are expected to propose a topic and receive my approval
before starting.  Additional guidelines will be provided.<P>

<H3>Assignment (exercises)</H3><P>
Several exercises will be assigned during the semester.  Most of 
these will be individual assignments, however, one group assignment
is anticipated.<P>

<!WA9><IMG ALIGN=MIDDLE SRC="http://www.cs.uidaho.edu/~billjunk/images/rainbow.gif">

<center><H2><B>Topical Outline</B></H2></center>

<UL>

<LI>Project planning (general concepts)
<UL>
<LI>What is project planning and management?
<LI>The Project Management Plan (IEEE Std 1058.1)
</UL>

<LI>Product development life cycles
<UL>
<LI>Complex systems of hardware and software
<LI>Conception to retirement
<LI>Time-to-market issues
</UL>

<LI>Software development life cycles
<UL>
<LI>Waterfall
<LI>Incremental/evolutionary
<LI>Spiral
<LI>Software maintenance
<LI>Life cycles incorporating software reuse
<LI>How to pick the appropriate life cycle
</UL>

<LI>Software development processes
<UL>
<LI>Process concepts
<LI>Process maturity (CMM)
<LI>Key process areas (CMM)
<LI>Process interaction (IEEE Std 1074)
<LI>Management and technical documentation
</UL>

<LI>Supporting or interfacing processes
<UL>
<LI>Marketing
<LI>Systems engineering
<LI>Verification and validation
<LI>Software quality assurance
<LI>Software configuration management
<LI>System support
<LI>System maintenance
</UL>

<LI>Activity planning and scheduling
<UL>
<LI>Setting project goals
<LI>Identifying development activities
<LI>Gantt charts
<LI>Network-based scheduling (PERT, CPM)
</UL>

<LI>Cost and resource estimating
<UL>
<LI>Top-down/bottom-up estimating
<LI>Software cost models
<LI>Work breakdown structures
</UL>

<LI>Resource management
<UL>
<LI>Budgeting
<LI>Reserves
<LI>Resource tracking
</UL>

<LI>Risk identification and management
<UL>
<LI>Top software risk areas
<LI>Proactive risk management
</UL>

<LI>Determining project status
<UL>
<LI>Status reporting
<LI>Software project measurement (metrics)
</UL>

<LI>Contracting and Outsourcing
<UL>
<LI>Development using outside contractors
<LI>Purchasing code or services from third parties
</UL>

<LI>Organizational strategies
<UL>
<LI>Functional organizations
<LI>Product team organizations
<LI>Matrix organizations
</UL>

<LI>Managing teams
<UL>
<LI>Hiring
<LI>Building teams
<LI>Assigning work
<LI>Empowerment
<LI>Using temporary personnel
<LI>Evaluating team members
</UL>

<LI>Environmental and social factors
<UL>
<LI>Informal organizations
<LI>Power structure
<LI>Physical working environment
<LI>Technology support
<LI>Training
<LI>Change management
</UL>

</UL>


<!WA10><IMG ALIGN=MIDDLE SRC="http://www.cs.uidaho.edu/~billjunk/images/rainbow.gif"><P>

</BODY>

<!WA11><A HREF="http://www.cs.uidaho.edu/index.html"><!WA12><IMG width=28 height=22
ALIGN=middle SRC="http://www.cs.uidaho.edu/~billjunk/images/csclogo.gif"></A> Computer Science Home 
Page

<!WA13><A HREF="http://www.uidaho.edu/"><!WA14><IMG width=22 height=22
ALIGN=middle SRC="http://www.cs.uidaho.edu/~billjunk/images/uilogo3.gif"></A> Univ. of Idaho Home 
Page <HR>

<P><ADDRESS>
<I>WWW:  http://www.cs.uidaho.edu/~billjunk/<BR>
e-mail:  billjunk@cs.uidaho.edu</I>
</ADDRESS>


